package com.demo.java.OD101_150.OD116;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【最长连续子串】问题--正则法
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145698582
 */
public class OdMain1 {
    public static void main(String[] args) {
        // 创建 Scanner 对象来读取用户输入
        Scanner scanner = new Scanner(System.in);

        // 读取输入字符串
        String input = scanner.nextLine();

        // 使用正则表达式拆分输入字符串，匹配所有字母部分（字母之间的非字母字符将被拆分）
        // 这会将所有字母分隔成单独的部分
        String[] words = input.split("[a-zA-Z]+");

        // 用于保存最大字母间隔的长度，初始值设为 -1，表示没有找到有效的间隔
        int maxLength = -1;

        // 遍历分割后的数组，计算相邻两个字母之间的间隔长度
        for (int i = 0; i < words.length - 1; i++) {
            // 计算两个字母之间的间隔长度，包括它们之间的非字母字符
            int length = words[i].length() + words[i + 1].length() + 1; // +1 代表字母间的分隔符（非字母字符）

            // 如果当前计算出的间隔长度大于已记录的最大值，更新最大值
            if (length > maxLength) {
                maxLength = length;
            }
        }

        // 输出最大的字母间隔长度
        System.out.println(maxLength);
    }
}